package controlador;


import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Textbox;
import org.zkoss.zul.Window;
import modelo.hibernate.dao.DaoUsuario;
import modelo.entidad.Usuario;
public class ControladorIniciarSesion extends GenericForwardComposer<Window>{
	
	private DaoUsuario dao = new DaoUsuario();

	private static final long serialVersionUID = 1L;
	
	@Wire
	private Textbox LoginUsuario;
	@Wire
	private Textbox LoginContrasenna;
	
	public void onClick$btnLAceptar() throws Exception{
		if (LoginUsuario.getText().equals("") || LoginContrasenna.getText().equals("")){
			
			Messagebox.show("Ninguno de los Campos debe estar Vacio", "Error", Messagebox.OK, Messagebox.ERROR);
		}
		else{
			
			String email = LoginUsuario.getText();
			Usuario usu = new Usuario();
//			usu = usuDao.buscarUsuario(ced);
			usu = dao.obtenerUsuario(email);
				
			if((usu != null)&&(usu.getContrasena().equals(LoginContrasenna.getText()))){
				session.setAttribute("usuario", usu.getNombre());
				session.setAttribute("password", LoginContrasenna.getText());
				session.setAttribute("Tipo",usu.getTipo_usuario());
				session.setAttribute("email", usu.getEmail());
				Messagebox.show("Bienvenido", "Bienvenido", Messagebox.OK, Messagebox.ERROR);
				//this.self.detach();

				if(usu.getTipo_usuario().getDescripcion().equals("Vendedor"))
					Executions.sendRedirect("PerfilUsuario.zul");
				else
					Executions.sendRedirect("PerfilAdm.zul");
			}
			else{
				   Messagebox.show("Datos incorrectos", "Error", Messagebox.OK, Messagebox.ERROR);
			       this.LoginUsuario.setText("");
			       this.LoginContrasenna.setText("");
			       session.invalidate();
			}
		}	
	}
	
	public void onClick$btnLCancelar(){
		LoginUsuario.setText("");
		LoginContrasenna.setText("");
	}

}
